package Passageiros;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import Vo.CidadesVO;

public class CidadesDAO extends DataSourceDAO 
{
	List<CidadesVO> comboCidades = new ArrayList<CidadesVO>();
	
	public CidadesDAO( ) 
	{
		
	}
	
	//metodo responsavel por retornar todas as cidades disponiveis no modelo fisico dados
	public List<CidadesVO> listarCidades() throws DAOException
	{
		CidadesVO cidades = null;
        String select = "SELECT * FROM CIDADES";
        PreparedStatement pstmt	= null;
        ResultSet rs 			= null;
        
        try
		{
			connect( ) ;
            pstmt = connection.prepareStatement( select );
            //pstmt.setInt( 1, codigo ) ; // Narcisio, verificar esta linha
            rs = pstmt.executeQuery( ) ;
            
            rs.beforeFirst();
        
            
            while (rs.last() != false)
            {
            	String nomeCidade = rs.getString("nome");
            	cidades = new CidadesVO( );
            	cidades.setNomeCidade(nomeCidade);
                    
            	cidades.setCodigoCidade(rs.getInt("codigo"));
                    
            	comboCidades.add(cidades);              
            }
		}
		catch ( SQLException e ) 
		{
			e.printStackTrace();
			throw new DAOException("Impossivel consultar cidades!", e );
		}
		finally 
		{
			try 
			{
				if ( pstmt != null ) 
                {
                    pstmt.close();
                }
                if ( rs != null ) 
                {
                    rs.close();
                }
                close( ) ;
            } 
            catch ( SQLException e ) 
            {
                e.printStackTrace( ) ;
            }
        }
        return comboCidades ;        
	}

}
